/********************************************************************************************************************************
 * 《C ++ Primer》第五版中文版，读书笔记：按照书中的的示例源码和每一个小章节的课后习题，自己动手写代码实现，作为联系和测试。
 * Date: 2024-04-03 10:08
 * Author: dimon.chen 
 * EMali: 1181302388@qq.com 
 * 
 * 章节: 第五章 语句和表达式
 *       5.6 try语句和异常处理
 * 
 ********************************************************************************************************************************/

#include <iostream>
#include <string>
#include <vector>
#include <cctype>
#include <cstddef>
#include <stdexcept>        //使用标准库类型runtime_error，runtime_error是标注库类型的一种，定义在 stdexcept 头文件中


int main(int argc ,char *argv[])
{
    std::string s1;
    std::string s2;

    while(std::cin >> s1 >> s2){

        try{
            if(s1 != s2)
                throw std::runtime_error("Data myst be refer to same ISBN");
        }
        catch(std::runtime_error err)
        {
            std::cout << err.what() << std::endl;
            std::cout << s1 << std::endl;
            std::cout << s2 << std::endl;


            std::cout << "do you want to enter again y/n?" << std::endl;
            char c;
            std::cin >> c;
            if(c == 'n' || c == 'N'){
                break;
            }
        }

        if(s1 == s2)
        {
            std::cout << "you enter two times is equal:" << std::endl;
            std::cout << s1 << std::endl;
            std::cout << s2 << std::endl;
        }
    }

    return 0;
}